Data may be transmitted according to one of many data transfer protocols. Data transfer protocols generally include protocols defined by industry standards bodies or proprietary protocols. Various digital communications standards such as IEEE 802.11, IEEE 802.16, or Digital Video Broadcasting-Terrestrial (DVB-T) use Fourier Transforms, and in particular use Fourier Transforms as part of Orthogonal Frequency Division Multiplexing (OFDM) systems. Fourier transforms may be implemented using Fast Fourier Transforms (FFT) algorithms. The inverse operation of an FFT is called Inverse Fast Fourier Transform (IFFT). FFT algorithms may be implemented using Radix-2, Radix-4, or some other Radix algorithm. In an FFT circuit, if the input data to the FFT circuit are provided in a bit/digit-reversed order, then the output data of the FFT circuit are in a natural order. Similarly, if the input data to the FFT circuit are in a natural order, the output data of the FFT circuit is in a bit/digit-reversed order. As such, a data reordering system may be used for reordering the data (e.g., convert data from a bit/digit-reversed order to a natural order or vice versa) for the FFT circuit. However, some data buffering systems for reordering data may have specific requirements on the memories that they use, which may limit circuit performance and reduce throughput.
Accordingly, there is a need for improved systems and methods for reordering data.